Universidad de Las Palmas de Gran Canaria
Zaragoza 23 de mayo de 2019
Grandes retos de la utilización de datos masivos
1. Volumen de información
2. Velocidad de generación de datos
3. Variedad de datos
4. Veracidad de los datos
5. Viabilidad del uso de los datos
6. Visualización de los datos
7. Valor de los datos: datos que se transforman en información, conocimiento, acción y decisión
Grandes retos de la utilización de datos masivos
1. Volumen de información4. Veracidad de los datos
5. Visualización de los datos
6. Viabilidad del uso de los datos
7. Valor de los datos: datos que se transforman en información, conocimiento, acción y decisión
- Hospitalización (CMBD-H)
Información administrativa y clínica de los pacientes ingresados en unidades de hospitalización, la cual es recogida y codificada sistemáticamente en los hospitales, para cada episodio de hospitalización, al alta del paciente.
Los registros de alta son enviados al Ministerio por las comunidades autónomas, de acuerdo con el modelo de datos establecido al efecto por acuerdo del Consejo Interterritorial.
Datos normalizados desde 1997 hasta 2015 inclusive de todos los hospitales de agudos del Sistema Nacional de Salud.
Las variables de consulta incluyen las básicas sobre edad y sexo del paciente, del episodio (tipo de ingreso y alta) y variables clínicas (sobre diagnósticos y procedimientos) a las que se añaden otras derivadas del uso de sistemas de clasificación de pacientes.
Presentar las oportunidades que ofrece el CMBD en la investigación en servicios sanitarios.
Efecto de la adopción de trombectomía primaria en la tasa de mortalidad por accidente cerebrovascular agudo (Indicador de calidad IQI 17).
Datos individuales de ingresos hospitalarias ente Enero de 2003 y diciembre de 2015.
Pacientes que ingresan con diagnóstico principal ictus isquémico
Flowchart of the patient population meeting inclusion criteria for the study
| Variable | Year.2003 | Year.2006 | Year.2009 | Year.2012 | Year.2015 | p_value |
|---|---|---|---|---|---|---|
| Number of admissions | 13,209 | 13,686 | 15,459 | 17,029 | 17,858 | <0.001 |
| In-hospital mortality | 1,715 | 1,669 | 1,763 | 1,837 | 1,884 | <0.001 |
| Age, year (SD) | 73.68 (12.16) | 73.52 (12.74) | 73.75 (13.03) | 74.33 (13.10) | 74.09 (13.44) | <0.001 |
| Gender, female (%) | 46.65 | 46.66 | 47.04 | 47.68 | 46.26 | 0.182 |
| Public holiday admission (%) | 26.81 | 27.06 | 27.00 | 27.59 | 27.37 | 0.15 |
| Congestive heart failure (%) | 4.06 | 4.13 | 4.52 | 5.38 | 5.40 | <0.001 |
| Pulmonary circulation disease (%) | 1.02 | 1.21 | 1.63 | 1.80 | 2.10 | <0.001 |
| Chronic pulmonary disease (%) | 9.58 | 8.28 | 8.29 | 9.29 | 9.42 | 0.456 |
| Renal failure (%) | 2.86 | 3.43 | 5.60 | 6.82 | 7.90 | <0.001 |
| Lymphoma (%) | 0.23 | 0.32 | 0.34 | 0.30 | 0.43 | 0.006 |
| Metastatic cancer (%) | 0.95 | 1.12 | 1.18 | 1.35 | 1.44 | <0.001 |
| Coagulopathy (%) | 0.62 | 0.69 | 0.72 | 1.30 | 1.25 | <0.001 |
| Fluid and electrolyte disorders (%) | 1.49 | 1.45 | 1.88 | 2.35 | 2.84 | <0.001 |
| Drug abuse (%) | 0.27 | 0.58 | 0.71 | 0.65 | 0.82 | <0.001 |
| Endovascular treatment (%) | 0.51 | 2.48 | 6.90 | 11.98 | 15.39 | <0.001 |
Nuestra variable endógena Y representa la Mortalidad en el hospital y sólo puede tomar dos valores, que codificamos como \(1\)= alta exitus y 0 para el resto. La distribución de Y es una Bernoulli cuya esperanza es:
\[E[Y]=P[Y=1]=p (0<p<1)\]
Sea X una posible variable predictora de Y, entonces la distribución condicional de Y sobre un valor de X = x, también sigue una distribución de Bernoulli de forma que la esperanza condicionada de Y sobre X = x es:
\[ E[Y |X = x] = P [Y = 1 |X = x] = p(x) \] y la varianza condicionada
\[ Var[Y |X = x] = p(x)·(1-p(x)) \]
Podemos formular el modelo para Y en función de X si para su estimación utilizmamos una regresión lineal clásica. El modelo quedaría como: \[ Y = \alpha + \beta x + \epsilon(x) \] donde los errores son variables aleatorias independientes con esperanza 0 que distribuyen con una Bernoulli.
Esta estimación se corresponde con el denominado modelo de probabilidad lineal.
##
## Call:
## lm(formula = Yvar ~ Age + Pub.Hol + chf + pulmcirc + chrnlung +
## renlfail + lymph + mets + coag + lytes + procedure + Trend +
## as.factor(Season), data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.65022 -0.13556 -0.10068 -0.04202 1.12254
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.600e-01 4.779e-03 -33.481 < 2e-16 ***
## Age 3.903e-03 5.410e-05 72.142 < 2e-16 ***
## Pub.Hol1 4.652e-03 1.554e-03 2.994 0.002754 **
## chf1 1.378e-01 3.314e-03 41.571 < 2e-16 ***
## pulmcirc1 6.680e-02 5.564e-03 12.006 < 2e-16 ***
## chrnlung1 1.046e-02 2.417e-03 4.326 1.52e-05 ***
## renlfail1 3.742e-02 3.070e-03 12.187 < 2e-16 ***
## lymph1 2.586e-02 1.215e-02 2.127 0.033381 *
## mets1 2.149e-01 6.214e-03 34.589 < 2e-16 ***
## coag1 4.233e-02 7.359e-03 5.753 8.80e-09 ***
## lytes1 1.513e-01 5.056e-03 29.932 < 2e-16 ***
## procedure1 2.345e-02 2.658e-03 8.824 < 2e-16 ***
## Trend -2.781e-04 1.583e-05 -17.565 < 2e-16 ***
## as.factor(Season)2 -8.248e-03 3.382e-03 -2.439 0.014746 *
## as.factor(Season)3 -5.783e-03 3.305e-03 -1.750 0.080203 .
## as.factor(Season)4 -1.139e-02 3.352e-03 -3.399 0.000676 ***
## as.factor(Season)5 -1.745e-02 3.324e-03 -5.250 1.53e-07 ***
## as.factor(Season)6 -1.607e-02 3.343e-03 -4.808 1.53e-06 ***
## as.factor(Season)7 -2.104e-02 3.345e-03 -6.290 3.19e-10 ***
## as.factor(Season)8 -1.356e-02 3.384e-03 -4.006 6.19e-05 ***
## as.factor(Season)9 -1.818e-02 3.393e-03 -5.358 8.44e-08 ***
## as.factor(Season)10 -1.219e-02 3.330e-03 -3.660 0.000252 ***
## as.factor(Season)11 -1.242e-02 3.325e-03 -3.736 0.000187 ***
## as.factor(Season)12 -4.834e-03 3.294e-03 -1.467 0.142255
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3081 on 198837 degrees of freedom
## Multiple R-squared: 0.05418, Adjusted R-squared: 0.05407
## F-statistic: 495.2 on 23 and 198837 DF, p-value: < 2.2e-16
| Variables | Coeff.est | Variables.continuacion | Coeff.esti |
|---|---|---|---|
| Age | 0.159739199 | Coagulopathy | 0.012568462 |
| Congestive heart failure | 0.092006278 | Aug | -0.011546077 |
| Metastatic cancer | 0.075564027 | Nov | -0.010924643 |
| Fluid and electrolyte disorders | 0.065634436 | Oct | -0.010686706 |
| Trend | -0.039305639 | Apr | -0.009859374 |
| Renal failure | 0.026857163 | Chronic pulmonary disease | 0.009456179 |
| Pulmonary circulation disease | 0.026347108 | Feb | -0.007028169 |
| Trombechtomic procedure | 0.019652806 | Public Holiday | 0.006537678 |
| Jul | -0.018286712 | Mar | -0.005129385 |
| Sep | -0.015421203 | Lymphoma | 0.00464123 |
| May | -0.015325542 | Dec | -0.004318502 |
| Jun | -0.013986073 |
Los GLM’s tienen tres componentes.
Los modelos logit son modelos GLM dónde la distribución de la variable \(Y\) es binomial y la función de enlace es la función logística. Si llamamos \(\mu=P(Y=1)\) el modelo queda especificado como:
\[logit[\mu]=log\left(\frac{\mu}{1-\mu}\right)=\alpha+\beta_1x_1+...+\beta_px_p\] Estimemos un modelo logit sobre nuestros datos…
##
## Call:
## glm(formula = Yvar ~ Age + Pub.Hol + chf + pulmcirc + chrnlung +
## renlfail + lymph + mets + coag + lytes + procedure + Trend +
## as.factor(Season), family = binomial, data = df)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.9361 -0.5279 -0.4252 -0.2889 3.2872
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -6.0150072 0.0643860 -93.421 < 2e-16 ***
## Age 0.0536551 0.0007471 71.814 < 2e-16 ***
## Pub.Hol1 0.0468726 0.0162532 2.884 0.003928 **
## chf1 0.8670417 0.0254485 34.070 < 2e-16 ***
## pulmcirc1 0.5086507 0.0457789 11.111 < 2e-16 ***
## chrnlung1 0.1306847 0.0238028 5.490 4.01e-08 ***
## renlfail1 0.3140673 0.0276331 11.366 < 2e-16 ***
## lymph1 0.2745295 0.1142550 2.403 0.016271 *
## mets1 1.5834171 0.0460269 34.402 < 2e-16 ***
## coag1 0.4000333 0.0671150 5.960 2.52e-09 ***
## lytes1 0.9359007 0.0378296 24.740 < 2e-16 ***
## procedure1 0.3062087 0.0280336 10.923 < 2e-16 ***
## Trend -0.0032780 0.0001684 -19.467 < 2e-16 ***
## as.factor(Season)2 -0.0787613 0.0345572 -2.279 0.022658 *
## as.factor(Season)3 -0.0512318 0.0336684 -1.522 0.128095
## as.factor(Season)4 -0.1080770 0.0345659 -3.127 0.001768 **
## as.factor(Season)5 -0.1734149 0.0346828 -5.000 5.73e-07 ***
## as.factor(Season)6 -0.1642029 0.0349081 -4.704 2.55e-06 ***
## as.factor(Season)7 -0.2152187 0.0353821 -6.083 1.18e-09 ***
## as.factor(Season)8 -0.1373768 0.0351576 -3.907 9.33e-05 ***
## as.factor(Season)9 -0.1899614 0.0356987 -5.321 1.03e-07 ***
## as.factor(Season)10 -0.1214997 0.0343838 -3.534 0.000410 ***
## as.factor(Season)11 -0.1224585 0.0343525 -3.565 0.000364 ***
## as.factor(Season)12 -0.0472429 0.0334433 -1.413 0.157765
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 140416 on 198860 degrees of freedom
## Residual deviance: 129666 on 198837 degrees of freedom
## AIC: 129714
##
## Number of Fisher Scoring iterations: 5
##
## Attaching package: 'MASS'
## The following object is masked from 'package:plotly':
##
## select
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.0024 0.0022 0.0028
## Age 1.0551 1.0536 1.0567
## Pub.Hol1 1.0480 1.0151 1.0819
## chf1 2.3799 2.2638 2.5013
## pulmcirc1 1.6630 1.5194 1.8181
## chrnlung1 1.1396 1.0875 1.1938
## renlfail1 1.3690 1.2965 1.4448
## lymph1 1.3159 1.0462 1.6381
## mets1 4.8716 4.4496 5.3296
## coag1 1.4919 1.3059 1.6990
## lytes1 2.5495 2.3666 2.7450
## procedure1 1.3583 1.2853 1.4346
## Trend 0.9967 0.9964 0.9971
## as.factor(Season)2 0.9243 0.8637 0.9890
## as.factor(Season)3 0.9501 0.8894 1.0148
## as.factor(Season)4 0.8976 0.8387 0.9604
## as.factor(Season)5 0.8408 0.7855 0.8999
## as.factor(Season)6 0.8486 0.7924 0.9086
## as.factor(Season)7 0.8064 0.7523 0.8642
## as.factor(Season)8 0.8716 0.8135 0.9338
## as.factor(Season)9 0.8270 0.7710 0.8869
## as.factor(Season)10 0.8856 0.8278 0.9473
## as.factor(Season)11 0.8847 0.8271 0.9463
## as.factor(Season)12 0.9539 0.8933 1.0185
- AIC (Criterio de información de Akaike):
métrica análoga al \(R^2\) ajustado. Siempre preferimos el modelo con un valor mínimo de AIC.
- Null Deviance y Residual Deviance:
suma de los cuadrados de los residuos de la devianza en el modelo con solo constante y en el modelo con covariables respectivamente. Cuando menor valor mejor es el modelo.
- Valores observados vs. predichos:
porcentaje de observaciones correctamente predicas;
sensibilidad;
especificidad
área bajo la curva ROC.
## [1] "AIC 129714.2708"
## [1] "RsqrMcFadden 0.0766"
## [1] "Residual deviance 129666.2708"
##
## FALSE TRUE
## 0 0.549977 0.336873
## 1 0.035945 0.077205
## [1] "Accuracy 0.6272"
## [1] "Sensibilidad 0.6823"
## [1] "Especificidad 0.6201"
## [1] "Area under the ROC curve"
## [1] "Area under the ROC curve"
## [1] 0.70698
## Analysis of Deviance Table
##
## Model: binomial, link: logit
##
## Response: Yvar
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 198860 140416
## Age 1 7210 198859 133205 < 2e-16 ***
## Pub.Hol 1 7 198858 133198 0.0065 **
## chf 1 1247 198857 131951 < 2e-16 ***
## pulmcirc 1 126 198856 131825 < 2e-16 ***
## chrnlung 1 35 198855 131790 4.0e-09 ***
## renlfail 1 107 198854 131684 < 2e-16 ***
## lymph 1 6 198853 131678 0.0158 *
## mets 1 957 198852 130721 < 2e-16 ***
## coag 1 32 198851 130689 1.3e-08 ***
## lytes 1 508 198850 130181 < 2e-16 ***
## procedure 1 48 198849 130132 3.5e-12 ***
## Trend 1 393 198848 129739 < 2e-16 ***
## as.factor(Season) 11 72 198837 129666 4.1e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1